package com.web.base.auth.facade;

import com.web.base.auth.message.MenuAuthRequest;
import com.web.base.auth.message.MenuAuthResponse;

import java.util.List;

/**
 * 菜单权限接口
 *
 * @author 代码由 blue-code 框架生成
 * @since 1.0 2017年04月15日
 */
public interface MenuAuthFacade
{

	/**
	 * 添加菜单权限
	 */
	MenuAuthResponse add(MenuAuthRequest request);

	/**
	 * 更新菜单权限
	 */
	MenuAuthResponse update(MenuAuthRequest request);

	/**
	 * 查询单个菜单权限
	 */
	MenuAuthResponse get(Integer id);

	/**
	 * 删除单个菜单权限
	 */
	void delete(Integer id);

	/**
	 * 查询菜单权限
	 */
	List<MenuAuthResponse> list(MenuAuthRequest request);

	/**
	 * 验证当前URL用户是否有权限访问
	 */
	boolean auth(Integer userId, String url);
	
}
